
#ifndef   __LCD_DRIVER
#define   __LCD_DRIVER

#define   ON					0x0E
#define   OFF					0x0C

#define   CLEAR_DISPLAY		1


extern unsigned char lcd_global;
extern unsigned char LCD_X, LCD_Y;

void lcd_init(unsigned char lcd_colums);
void lcd_clear (void);
void lcd_goto(unsigned char  x, unsigned char y);
void lcd_putchar (unsigned char data);

/* The function counts number of printed chars. Result in lcd_global variable */
void lcd_putsf(const byte *string);

void lcd_puts (unsigned char *string);
void lcd_putds( unsigned char *string, unsigned char ByteCount );
//void lcd_convert (unsigned int number);
//void lcd_write_control (byte data);
void lcd_cursor(unsigned char sw);
void ScrollMessage(unsigned char row,const char Message[]);
void lcd_printByte (byte value);
void lcd_clear_str( unsigned char X, unsigned char Y );

/* Values of 'Aline' variable */
#define   PASTE_ZERO				0		 	
#define   PASTE_ZERO_TIME		1		 	
#define   LEFT						2
#define   RIGHT					3
void lcd_print_Number ( unsigned long Number, unsigned char Aline ) ;
void lcd_print_BCD( unsigned long );

void lcd_print_time( unsigned int Sec, unsigned char X, unsigned char Y );

void lcd_print_str ( const unsigned char* Buffer, unsigned char X, unsigned char Y, unsigned char ClearDisplay );


//void lcd_read_line( unsigned char* Buffer, unsigned char StrNum );
void lcd_read_display( unsigned char* Buffer, unsigned char DisplayLine );
#endif




